System and method for the automatic extraction of linear features from digital imagery

ABSTRACT

A method and system for the extraction of linear features from digital imagery is described herein. The proposed methodology is based on the tridimensional Radon transformation and on the generation of a multi-layer database having separate layers containing different types of information to allow the reconstruction of an output image where the linear features of the input image are restored.

FIELD OF THE INVENTION

[0001] The present invention relates to digital imagery. More specifically, the present invention is concerned with a system and a method for the automatic extraction of linear features from digital imagery.

BACKGROUND OF THE INVENTION

[0002] With the recent, rapid development of computer tools, digital image processing has become an efficient, economic, and convenient means for obtaining qualitative and quantitative information in different fields such as remote sensing, cartography, robotics, and materials.

[0003] Indeed, digital image processing makes it possible to qualitatively describe images from various sources in terms of pattern recognition to identify and isolate contained objects. One of the major subclasses of contained objects present in digital images consists in linear features. Automatic detection of linear features from digital images plays an important role in pattern recognition and in digital image processing.

[0004] A variety of techniques and many algorithms have emerged to automatically extract linear features from digital images. These techniques can be classified into two main categories: local methods which are based on local operators such as mobile kernel, and global methods which focus on mathematical transformations, such as Hough transforms (see [1]).

[0005] Local methods for automatically extracting linear features basically exploit local variations of pixel intensity in a small neighborhood by calculating the gradients in small, limited-size windows in the image, e.g., 3×3 pixels or 5×5 pixels (see [2][3][4][5][6][7][8][9]).

[0006] A number of researchers have examined mathematical morphology as a means of extracting linear features (see [10][11][12][13][14]). The problems pertaining to this technique arise from the number of human decisions required to reconnect and rebuild line segments, which increases processing time. Multi-dimensional line detection is the other technique for detecting for linear features that collects different spectral information for the same scene and may highlight different parts of lines (see [15]). The first stage of this method for obtaining the combined images requires several transformations of multiple original bands. Human intervention is needed to select the best-combined image. Another approach to linear-feature extraction involves knowledge-based systems, which need more information than a simple digital image for line extraction (see [16][17][18]).

[0007] These local methods generally remain inefficient because they fail to have a global view of the linear features in a digital image. One problem common to all of these methods is that the resulting extracted line images contain a fair amount of noise, while the detected lines are often incomplete and geometrically shifted. These difficulties are magnified by intersections between different linear features and linear features that display some curvature (see [19][20][1]). In addition, these methods turn in exceptionally long processing time when extracting features from large images (see [16]).

[0008] Of the local methods, LINDA (Linear-featured Network Detection and Analysis) system (see [2][7][27]), based on the profile intensity analysis of the pixel line, is the most recent and the most representative method. With all of basic disadvantages of the local methods, the LINDA system is far from being operational with respect to systematically and automatically processing a large set of images.

[0009] The Radon transform and its derivative, the Hough transform, are the most frequently used approaches as global methods for detecting linear features (see [21][22][23][24]). In principle, a straight line from the input image is transformed into a digital peak (a light or dark pixel, compared to its neighborhood) in the transformed plane. In this case, it is easier to detect a peak in the transformed plane than a straight line in the input image. There are three basic limitations for these methods that unfortunately restrict their applications and their utility in practice.

[0010] First, the Hough and Radon transform-based methods are limited solely to extracting straight lines (see [21]). Therefore, linear features that span the entire image but display some curvature may not produce suitable peaks or troughs in the transform plane. This restriction is linked directly to the basic definition of the method.

[0011] Secondly, there are false peaks or virtual maxima (peaks that do not represent the real line on the input image) in the transformed plane. These false peaks considerably decrease the quality of the results by increasing the error of commission. When the line density in the input image is high, eliminating the false peaks from transformed plane seriously limits these methods.

[0012] The last methodological inconvenience of these approaches is the ignorance of the nature of the detected lines. Indeed, since the intensity integration in the transformation process is performed over the entire length of the image, the process can have difficulty detecting line segments that are significantly shorter than the image dimensions (see [21][25][26]). Neither can it provide information about the positions of the endpoints of these shorter line segments or line length.

[0013] It is to be noted that the present description refers to a number of documents indicated in brackets, that are listed hereinbelow, the content of these documents is herein incorporated by reference in their entirety.

OBJECTS OF THE INVENTION

[0014] An object of the present invention is therefore to provide an improved system and method for the automatic extraction of linear features from digital imagery.

SUMMARY OF THE INVENTION

[0015] More specifically, in accordance with the present invention, there is provided a method for the extraction of linear features from digital imagery comprising the steps of:

[0016] providing a digital image;

[0017] providing a multi-layer database initializing a parameter domain;

[0018] successively applying the Radon transform on each position in the parameter domain;

[0019] for each position in the parameter domain:

[0020] finding the coordinates of the nearest pixel in the digital image;

[0021] determining the numerical value of the found pixel; and

[0022] populating the layers of the provided database in accordance with the determined numerical value of the found pixel;

[0023] analysing the data of the database; and

[0024] generating an output image by restoring the lines detected in the analysing step.

[0025] According to another aspect of the present invention, there is provided a system for the extraction of linear features from a digital image and for generating a corresponding output image comprising:

[0026] a controller provided with an input designed to receive a digital image and an output designed to provide a corresponding output image; said controller containing a multi-layer database; said controller being so configured as to:

[0027] initialize the discrete parameter domain;

[0028] successively apply a Radon transform on each position in the parameter domain;

[0029] for each position in the parameter domain:

[0030] find the coordinates of the nearest pixel in the digital image;

[0031] determine the numerical value of the found pixel; and

[0032] populate the layers of the provided database in accordance with the determined numerical value of the found pixel;

[0033] analyse the data of the database; and

[0034] generate an output image by restoring the lines detected in the analysing step.

[0035] It is to be noted that the expression “linear features” used herein and in the appended claims is to be construed as referring both to curved lines as well as straight lines.

[0036] Other objects, advantages and features of the present invention will become more apparent upon reading of the following non-restrictive description of preferred embodiments thereof, given by way of example only with reference to the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0037] In the appended drawings:

[0038]FIGS. 1A and 1B illustrate a flowchart of an embodiment of the method of the present invention;

[0039]FIG. 2 is an image simulated to showcase the method's ability to extract all lines without consideration for the slope line; extract the lines having a shorter length of the image dimension; and locate extracted lines accurately;

[0040]FIG. 3 is an image obtained by applying the implemented algorithm to the image of FIG. 2;

[0041]FIG. 4 is an image simulated in order to demonstrate the method's performance in extracting curved as well as straight lines;

[0042]FIG. 5 is an image produced by applying the method of FIGS. 1A and 1B to the image of FIG. 4;

[0043]FIG. 6 is a SPOT satellite image of a part of a road map;

[0044]FIG. 7 is an image produced by applying the method of FIGS. 1A and 1B to the image of FIG. 6;

[0045]FIG. 8 is a scanned image of a part of a fingerprint;

[0046]FIG. 9 is an image produced by applying the method of FIGS. 1A and 1B to the image of FIG. 8; and

[0047]FIG. 10 schematically illustrates a system according to an embodiment of the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENT

[0048] The proposed methodology generally derives from the Radon transform, yet has none of its basic disadvantages mentioned hereinabove. This methodology also builds on a solid mathematical base that demonstrates the conceptual feasibility of the new method mathematically. An algorithm has also been developed and implemented in order to achieve a concrete realization of the innovative method in a real context.

[0049] Generally stated, the proposed methodology is based on the tridimensional Radon transformation and on the generation of a multi-layer database having separate layers containing different types of information to allow the reconstruction of an output image where the linear features of the input image are restored.

[0050] In following subsections, the mathematical base as well as general procedures for an algorithmic development of an embodiment of the method and system of the present invention will be presented in details.

[0051] Mathematical Development

[0052] Continuous Function

[0053] Let g(x,y) be a continuous signal of the continuous variables x and y and let ξ denote a η-dimensional parameter vector defined as:

ξ=(ξ₁, ξ₂, ξ₃ . . . ξ_(i), . . . ξ_(n))  (1)

[0054] where ξ spans the parameter domain.

[0055] For a two-dimensional continuous function, the parameter vector can be defined as:

ξ=(ξ₁, ξ₂, ξ₃) η=3  (2)

[0056] or:

ξ=(α, β, γ)  (3)

[0057] hence:

[0058]g(x,y)=φ(x,y;ξ)=y−ax ² −βxγ  (4)

[0059] The Radon transform {haeck over (g)}(ξ) of function g(x,y) is defined as: $\begin{matrix} {{\overset{\Cup}{g}(\xi)} = {\int_{- \infty}^{\infty}{\int_{- \infty}^{\infty}{{g\left( {x,y} \right)}\delta\left( {{\varphi \left( {x,{y;\xi}} \right)}{x}{y}} \right.}}}} & (5) \end{matrix}$

[0060] where δ(.) denotes the Dirac delta function.

[0061] Using the definition (5) of Radon transform, curves expressed by the next parameter form can be detected:

φ(x,y;ξ)=0  (6)

[0062] Substituting the relation (4) into equation (5), we find: $\begin{matrix} {{\overset{\Cup}{g}\left( {\alpha,\beta,\gamma} \right)} = {\int_{- \infty}^{\infty}{\int_{- \infty}^{\infty}{{g\left( {x,y} \right)}{\delta \left( {y - {\alpha \quad x^{2}} - {\beta \quad x} - \gamma} \right)}{x}{y}}}}} & (7) \end{matrix}$

[0063] where y=φ(x;ξ) represent the transformation curve.

[0064] Using proprieties of delta function, equation (7) becomes: $\begin{matrix} \begin{matrix} {{\overset{\Cup}{g}\left( {\alpha,\beta,\gamma} \right)} = {\int_{- \infty}^{\infty}{\int_{- \infty}^{\infty}{{g\left( {x,y} \right)}{\delta \left( {y - {\alpha \quad x^{2}} - {\beta \quad x} - \gamma} \right)}{x}{y}}}}} \\ {= {\int_{- \infty}^{\infty}{{g\left( {x,{{\alpha \quad x^{2}} + {\beta \quad x} + \gamma}} \right)}{x}}}} \end{matrix} & (8) \end{matrix}$

[0065] At this stage, the transformation curve is defined as a polynomial function of second degree using the delta function as below:

g(x,y)=δ(y−φ(x;ξ))  (9)

[0066] where the parameter vector of this curve is:

ξ*=(α*, β*,γ*)  (10)

[0067] Using equations (4), (9) and (10), we find:

g(x,y)=δ(y−(α*x ² +β*x+y*))  (11)

[0068] According to definition of the Radon transform: $\begin{matrix} \begin{matrix} {{\overset{\Cup}{g}(\xi)} = {\int_{- \infty}^{\infty}{{\delta \left( {{\varphi \left( {x;\xi} \right)} - {\varphi \left( {x;\xi^{*}} \right)}} \right)}{x}}}} \\ {= {\int_{- \infty}^{\infty}{\sum\limits_{i = 1}^{I}{\frac{\delta \left( {x - x_{i}} \right)}{{\frac{\partial{\varphi \left( {x;\xi} \right)}}{\partial x} - \frac{\partial{\varphi \left( {x;\xi^{*}} \right)}}{\partial x}}}{x}}}}} \\ {= {\sum\limits_{i = 1}^{I}\frac{1}{{\frac{\partial{\varphi \left( {x_{i};\xi} \right)}}{\partial x} - \frac{\partial{\varphi \left( {x_{i};\xi^{*}} \right)}}{\partial x}}}}} \end{matrix} & (12) \end{matrix}$

[0069] Substitution of parameter vectors (3) and (10) into the transform definition (12) gives: $\begin{matrix} \begin{matrix} {\left. {{{\overset{\Cup}{g}\left( {\alpha,\beta,\gamma} \right)} = {\int_{- \infty}^{\infty}{\delta\left( {\left( {{\alpha \quad x^{2}} + {\beta \quad x} + \gamma} \right) - \left( {{\alpha*x^{2}} + {\beta*x} + \gamma} \right.} \right.}}}{*)}} \right){x}} \\ {= {\int_{- \infty}^{\infty}{\sum\limits_{i = 1}^{1}{\frac{\delta \left( {x - x_{i}} \right)}{{\frac{\partial\left( {{\alpha \quad x^{2}} + {\beta \quad x} + \gamma} \right)}{\partial x} - \frac{{\partial\left( {{\alpha*x^{2}} + {\beta*x} + \gamma} \right.}{*)}}{\partial x}}}{x}}}}} \\ {= \frac{1}{{\frac{\partial\left( {{\alpha \quad x^{2}} + {\beta \quad x} + \gamma} \right)}{\partial x} - \frac{{\partial\left( {{\alpha*x^{2}} + {\beta*x} + \gamma} \right.}{*)}}{\partial x}}}} \end{matrix} & (13) \end{matrix}$

[0070] Finally, we find: {haeck over (g)}(α,β,γ) = ∞ for α = α* et β = β* et γ = γ* (14) 0 < {haeck over (g)}(α,β,γ) < ∞ for other cases

[0071] Equation (14) shows that the Radon transform of a polynomial function of second degree will give an infinite value (a peak) in the parameter domain, when parameters of this function are precisely determined. In addition, this equation confirms that the parameter domain will contain some other non-zero values because of parameters values which have some similarity with real parameter values of the polynomial function in question.

[0072] In the light of the mathematical demonstration presented above, tree important issues are concluded:

[0073] i) The Radon transform of a two-dimensional plane containing a polynomial function of second degree is a Euclidean tree-dimensional space;

[0074] ii) this polynomial function is mapped into a unique point in the tree-dimensional space;

[0075] iii) position of this point in the tree-dimensional space determines the polynomial function parameters.

[0076] The following subsection provides a discrete approximation to the Radon transform for a polynomial function of second degree. This discrete approximation is the key of the algorithmic development of the polynomial function in question.

[0077] Discrete Function

[0078] Discrete Radon transform of a discrete function φ(m;l,k,h) is defined as: $\begin{matrix} {{{\overset{\Cup}{g}\left( {l,k,h} \right)} = {{\sum\limits_{m = 0}^{M - 1}{g\left( {m,{\varphi \left( {{m;l;k},h} \right)}} \right)}} = {\sum\limits_{m = 0}^{M - 1}{g\left( {m,{n\left( {{m;l},k,h} \right)}} \right)}}}}\text{where:}} & (15) \\ {{{\varphi \left( {{m;l},k,h} \right)} = {n = \left\lbrack \frac{\varphi \left( {{x_{\min} + {m\quad \Delta \quad x}};{{\theta \left( {l,k,h} \right)} - y_{\min}}} \right)}{\Delta \quad y} \right\rbrack}}\text{and}} & (16) \\ \left\{ \begin{matrix} {x_{m} = {x_{\min} + {m\quad \Delta \quad x}}} & {{m = 0},1,\ldots \quad,M} \\ {y_{n} = {y_{\min} + {n\quad \Delta \quad y}}} & {{n = 0},1,\ldots \quad,N} \end{matrix} \right. & (17) \end{matrix}$

[0079] where M and N are the discrete plane dimensions and Δx, Δy are sampling intervals of this plane.

[0080] For a polynomial function of second degree expressed as y−εx²−ρx−τ=0, the Radon transform is: $\begin{matrix} {{{\overset{\Cup}{g}\left( {l,k,h} \right)} = {\Delta \quad x{\sum\limits_{m = 0}^{M - 1}{g\left( {x_{m},{{ɛ_{1}x_{m}^{2}} + {\rho_{k}x_{m}} + \tau_{h}}} \right)}}}}\text{with:}} & (18) \\ \left\{ \begin{matrix} {ɛ_{1} = {ɛ_{\min} + {l\quad \Delta \quad ɛ}}} & {{l = 0},1,\ldots \quad,L} \\ {\rho_{k} = {\rho_{\min} + {k\quad {\Delta\rho}}}} & {{k = 0},1,\ldots \quad,K} \\ {\tau_{h} = {\tau_{\min} + {h\quad {\Delta\tau}}}} & {{h = 0},1,\ldots \quad,H} \end{matrix} \right. & (19) \end{matrix}$

[0081] where L, K and H represent dimensions of Radon domain and Δε, Δρ and Δτ are sampling intervals of this domain.

[0082] Using relation (19), the function n(m;l,k,h) of relation (16) becomes: $\begin{matrix} {{n\left( {{m;1},k,h} \right)} = \left\lbrack \frac{{ɛ_{1}x_{m}^{2}} + {\rho_{k}x_{m}} + \tau_{h} - y_{\min}}{\Delta \quad y} \right\rbrack} & (20) \end{matrix}$

[0083] With substituting the relation (17) in the previous equation, we find: $\begin{matrix} {{n\left( {{m;l},k,h} \right)} = {\left\lbrack \frac{{ɛ_{1}\left( {x_{\min} + {m\quad \Delta \quad x}} \right)}^{2} + {\rho_{k}\left( {x_{\min} + {m\quad \Delta \quad x}} \right)} + \tau_{h} - y_{\min}}{\Delta \quad y} \right\rbrack = n^{*}}} & (21) \end{matrix}$

[0084] For simplifying, the previous equation can be expressed as:

n*=αm ² +βm+γ  (22)

[0085] where: $\begin{matrix} \left\{ \begin{matrix} {\alpha = \frac{ɛ_{1}\Delta \quad x^{2}}{\Delta \quad y}} \\ {\beta = \frac{\left( {{2x_{\min}ɛ_{1}} + \rho_{k}} \right)\Delta \quad x}{\Delta \quad y}} \\ {\gamma = \frac{{ɛ_{1}x_{\min}^{2}} + {\rho_{k}x_{\min}} + \tau_{h} - y_{\min}}{\Delta \quad y}} \end{matrix} \right. & (23) \end{matrix}$

[0086] According to the equation (19), once the Radon domain parameters has been initialized, using equations (21), (22) and (23) this domain is determined for all of two-dimensional plane points (X,Y).

[0087] Algorithmic development

[0088] The concrete achievement of the proposed method is schematized in a flowchart presented in FIGS. 1A and 1B. This flowchart illustrates also the instructions for an algorithmic development of the proposed technology.

[0089] As will easily be understood by one skilled in the art, the algorithm presented hereinbelow aims at building a multi-layer database. A first layer of the database includes the coordinates of pixels having a zero value and a second layer includes the coordinates of the pixels having a non-zero value. A third layer of the database includes the values of the pixels having a non-zero value while the fourth layer of the database includes the value of the pixel having a zero value. Finally, a fifth layer of the database includes the sum of the values of the non-zero value pixels.

[0090] In a first step 10, the digital image 12 and the minimun and maximum lengths (in pixels) of lines to be detected 14 are supplied to design the discrete parameter domain. The parameter vector of the transformation is defined in this step as described in equations (1), (2) and (3) hereinabove.

ξ=(ξ₁,ξ₂, ξ₃ . . . , ξ_(i), . . . ξ_(η))  (1)

ξ=(ξ₁, ξ₂, ξ₃) η=3  (2)

ξ=(αβγ)  (3)

[0091] A second step 16 consists in the initialization of the numerical values of discrete parameters ε_(min), Δε, ρ_(min), Δρ, ι_(min), Δι, L, K et H, as described in equation (19) and of X_(m), y_(n), Δx, Δy, as described in equation (17) (M and N corresponding to the dimension of digital input image). $\begin{matrix} \left\{ \begin{matrix} {x_{m} = {x_{\min} + {m\quad \Delta \quad x}}} & {{m = 0},1,\quad \ldots \quad,M} \\ {y_{n} = {y_{\min} + {n\quad \Delta \quad y}}} & {{n = 0},1,\quad \ldots \quad,N} \end{matrix} \right. & (17) \\ \left\{ \begin{matrix} {ɛ_{1} = {ɛ_{\min} + {1\quad \Delta \quad ɛ}}} & {{1 = 0},1,\quad \ldots \quad,L} \\ {\rho_{k} = {\rho_{\min} + {k\quad \Delta \quad \rho}}} & {{k = 0},1,\quad \ldots \quad,K} \\ {\tau_{h} = {\tau_{\min} + {h\quad \Delta \quad \tau}}} & {{h = 0},1,\quad \ldots \quad,H} \end{matrix} \right. & (19) \end{matrix}$

[0092] In a third step 18, a first loop is started. This first loop intends, for every position in the parameter domain, to determine every possible combination of ε_(l), ρ_(k) and ι_(h) as described in equation (19) by incrementing tree values of l, k and h (0<l <L; 0<k<K; and 0<h<H). This first loop includes a second loop as will be discussed hereinbelow.

[0093] For each position in the parameter domain, a computation step 20 is performed. More specifically, the computation step 20 consists in a computation of line/curve deterministic parameters. In this step, the deterministic parameters α, β and γ are computed by using equation (23). $\begin{matrix} \left\{ \begin{matrix} {\alpha = \frac{ɛ_{1}\Delta \quad x^{2}}{\Delta \quad y}} \\ {\beta = \frac{\left( {{2x_{\min}ɛ_{1}} + \rho_{k}} \right)\Delta \quad x}{\Delta \quad y}} \\ {\gamma = \frac{{ɛ_{1}x_{\min}^{2}} + {\rho_{k}x_{\min}} + \tau_{h} - y_{\min}}{\Delta \quad y}} \end{matrix} \right. & (23) \end{matrix}$

[0094] In step 22, a second loop is started. This second loop generally consists in the determination of corresponding pixel's coordinates and in the update of the various layers of the database described hereinabove. In this second loop, for each value of m (0<m<M), a new parameter n* is computed by using equation (21). $\begin{matrix} {{n\left( {{m;l},k,h} \right)} = {\left\lbrack \frac{\begin{matrix} {{ɛ_{1}\left( {x_{\min} + {m\quad \Delta \quad x}} \right)}^{2} +} \\ {{\rho_{k}\left( {x_{\min} + {m\quad \Delta \quad x}} \right)} + \tau_{h} - y_{\min}} \end{matrix}}{\Delta \quad y} \right\rbrack = {n*}}} & (21) \end{matrix}$

[0095] In the next step 24, the determined coordinates (m,n*) of the previous step are used to find the nearest neighbour approximation pixel P(m, n) within the input image.

[0096] Then, step 26 determines if the value of the pixel is zero. More specifically, this is a verification step for determining the numerical value of the pixel P(m, n) found in step 24.

[0097] If the value of the pixel P(m, n) is zero, a number of zero pixel counter is incremented (step 28), the pixel's coordinates are saved in the first layer of the database (step 30) and the value of the pixel is saved in the fourth layer of the database (step 32). The counter incremented in step 28 is generally used to determine the gap between pixels that have a non-zero value.

[0098] It is to be noted that when the input image used includes shades of grey, step 26 may be viewed as a comparison between the numerical value of the pixel and a predetermined threshold to determine if this numerical value may be considered as being zero. It is in this case that it is advantageous to save the value of the zero-value pixel in the fourth layer of the database.

[0099] The system is then returned to the start of the second loop (step 22) for the next position in the parameter domain.

[0100] If the value of the pixel P(m, n) is not zero, a number of non-zero pixel counter is incremented (step 34), the pixel's coordinates m and n are saved in the second layer of the database (step 36) and the numerical value of the pixel is saved in the third layer of the database (step 38). The counter incremented in step 34 is generally used to determine the length of the lines defined by the pixels.

[0101] The numerical pixel value is also added to the previous pixel values found (step 40), and the accumulated pixel value is stored in the fifth layer of the database (step 42). The fifth layer of the database is generally used to determine the length of the line defined by the pixels.

[0102] When the second and first loops are completed, i.e. when the previously discussed steps have been performed for every position in the parameter domain, the method calls for a third loop that is started in step 44.

[0103] Generally stated, the function of the third loop is to recall all the numerical values of non-zero pixels already stored in the third layer of the database in step 38. The third loop is therefore done for each pixel stored in the third layer of the database.

[0104] In step 46, the numerical value of the pixel is compared to predetermined value relating to the length of the lines to be detected inputted in step 10. More specifically, the zero pixel and non-zero pixel counters are used to determined the length of the line represented by the third layer cell is within the range determined by the minimum and maximum length of lines to be detected 14.

[0105] If it is not the case, the method calls for a return to the third loop if it has not reached its end.

[0106] If it is the case, step 48 recalls the stored coordinates of the corresponding pixels in the third layer of the database. Then, in the input image, the numerical values of these pixels will be verified to find endpoints of the corresponding line.

[0107] Then, in step 50, by using the stored deterministic parameters of the line and the line endpoints that are found in the precedent step, the detected line will be restored in the output image.

[0108] Finally, all the information about extracted lines, such as endpoints, lengths, etc. are stored (step 52) in a new database which is used to generate an output image including the linear features of the corresponding input image.

[0109] Features and Operation of the Invention

[0110] A global method has therefore been developed so as to be capable of:

[0111] detecting and extracting the lines from a digital image with any curvature;

[0112] discarding the virtual maxima on the Hough or on the Radon transformed plane;

[0113] locating every line segment in the input image (endpoints and length).

[0114] Demonstration and Discussion

[0115] The image of FIG. 2 was simulated to showcase the method's ability to:

[0116] i) extract all lines without consideration for the slope line; (for example line 100)

[0117] ii) extract the lines having a shorter length than that of the image dimension (for example line 102); and

[0118] iii) locate extracted lines accurately.

[0119]FIG. 3 is an image obtained by applying the above-described method to the image of FIG. 2. The absolute similarity of FIG. 3 with FIG. 2 demonstrates clearly the accuracy of three abilities of the method as described above.

[0120] The image of FIG. 4 was simulated in order to demonstrate the method's performance in extracting curved (for example line 104 as well as straight lines (for example line 106).

[0121] The image illustrated in FIG. 5 was produced by applying the above-described algorithm to the image of FIG. 4. Again, the absolute similarity of FIG. 5 with FIG. 4 demonstrates clearly the accuracy of the method as described above.

[0122] As a visual demonstration, a urban road network (see FIG. 6) obtained from a SPOT satellite (from CNES (Centre National d'Études Spatiales) has been selected as an application.

[0123] The image of FIG. 6 is a part of SPOT satellite image of a road map. The image of FIG. 7 was produced by applying the above-described algorithm to the image of FIG. 6.

[0124] A comparison of the images of FIGS. 6 and 7 reveals that the restrained roads in the input image have been extracted in detail and with high geometric precision.

[0125] Turning now briefly to FIGS. 8 and 9 of the appended drawings, another application of the method and system of the present invention will be described. FIG. 8 illustrates a portion of a scanned fingerprint. On the other hand, FIG. 9 illustrates the output image when the input image is FIG. 8. As will be apparent to one skilled in the art, the output image of FIG. 9 could be used in a fingerprint identification system.

[0126] Finally, FIG. 10 of the appended drawings schematically illustrates a system 200 for the extraction of linear features from an input image. The system 200 includes a controller 202, for example in the form of a personal computer (not shown) that is so designed to run a computer program embodying the method described hereinabove. The controller 202 therefore includes the multi-layer database.

[0127] The system 200 also includes an input device 204, for example in the form of a scanner (not shown) or of a link to another computer containing the input image (not shown) accessible through a computer network.

[0128] An output device 206 is also provided to output the image. This output device may be in the form of a printer (not shown), a computer monitor (not shown) or of a link to another computer configured to receive the output image (not shown) accessible through a computer network.

[0129] The method and system of the present invention are advantageous since they provide for the automatically extraction of line features and provide accurate, acceptable results. Furthermore, the method of the present invention is advantageous since it can extract curved lines of any length with a high degree of accuracy. Our method identifies every line or line segment, labeling its length, its curvature, and endpoint coordinates in a database. Moreover, the database can be easily integrated into any geographic or spatial information system.

[0130] Examples of Fields of Applications

[0131] The method and system of the present invention is of broad interest and make a general contribution to the field of pattern recognition and digital image processing, regardless of the nature or source of the digital image. It could be used in a vast number of fields and application, of which the following are a sampling.

[0132] In the field of remotely sensed imagery, the method and system of the present invention could be used for the extraction and update of road maps; for planimetric cartography, geology, and hydrology; for mapping power-lines, pipelines, and railways; and for tracking cycle trails, ORV trails, and the like, for example.

[0133] In the field of medical imagery, the method and system of the present invention could be used for the detection of arteries, blood vessels, tumors, for example.

[0134] In the field of imagery from other sources, the method and system of the present invention could be used for electrical circuits and the like.

[0135] As will be apparent to one skilled in the art, even though the method has been presented herein with a single multi-layer database, it could also be implemented with a number of databases each representing a layer described hereinabove. The expression “database layer” is therefore to be construed as also meaning a separate database.

[0136] Furthermore, the method and system of the present invention may be used on binary and “greyscale” images.

[0137] Although the present invention has been described hereinabove by way of preferred embodiments thereof, it can be modified, without departing from the spirit and nature of the subject invention as defined in the appended claims.

[0138] References

[0139] [1] Wang, D., He, D. C., Wang, L., et Morin, D. (1996) L'extraction du réseau routier urbain á partir d'images SPOT HRV. INT. J. Remote Sensing, vol.17, n^(O). 4, p. 827-833.

[0140] [2] Groch, W. D. (1982) Extraction of Line Shaped Objects from Aerial Images using a Special operator to analyse the Profiles of Functions. Computer Graphics and Image Processing, vol.18, p. 347-358.

[0141] [3] Lacroix, V., et Acheroy, M. (1998) Feature extraction using the constrained gradient. ISPRS Journal of Photogrammetry and Remote Sensing, vol.53, p. 85-94.

[0142] [4] Nevatita, R. et Babu, K. R. (1980) Linear Feature Extraction and Description. Computer Graphics and Image Processing, vol.13, p. 257-269.

[0143] [5] Schanzer, D., Plunkett, G. W. et Wall. Da. (1990) Filters for Residential Road Delineation from SPOT LPA Imagery. GIS FOR 1990s, 801, Conference Proceedings.

[0144] [6] Ton, J. (1989) Automatic Road Identification and labelling in Landsat 4 TM Images. Photogrammetria, vol.43, n^(O).5, p. 257-276.

[0145] [7] Wang, J. F., Treitz, P. M., et Howarth, P. J. (1992) Road network detection from SPOT imagery for updating geographical information systems in rural-urban fringe. Geographical Information Systems, vol.6, n^(O)2, p. 141-157.

[0146] [8] Wang, J. F., et Howarth, P. J. (1987) Methodology for Automated Road Network Extraction from Landsat TM Data. Proc. Ann ASPRS/ACSM Convention (Baltimore, Md.), vol.1, p. 429-438.

[0147] [9] Wang, J. F., et Liu, W. (1993) Evaluation of Road Detection Methods Using Multi Band remote sensing Images. Canadian Symposium on Remote Sensing, 16th, L'AQT/CRSS.

[0148] [10] Destival, I. et Men, H. L. (1986) Detection of Linear Networks on Satellite Images. Photogrammetric Engineering and Remote Sensing, vol.54, n^(O). 10, p.1551-1555.

[0149] [11] Ferrand, R., et Marty, H. M. (1985) Computer Processing Test on a Simulated SPOT Image of Toulouse (France). Photo-Interpretation, vol.3, p. 39-45.

[0150] [12] O'brien, D. (1988) Automatic extraction of road networks from digital imagery. Proceeding of the International Symposium on Topographic Applications of SPOT Data, October 13-14, (Sherbrooke, Quebec, Canada; Canadian Institute of Surveying and Mapping), p.273-287.

[0151] [13] Peters, R. A. (1995) A New Algorithm for Image Noise Reduction Using Mathematical Morphology. Transactions on image processing, vol.4, n^(O). 5, p. 554-568.

[0152] [14] Voiron, Ch. (1995) Analyse spatiale et analyse d'image. Montpellier, GIP RECLUS, p.190.

[0153] [15] Chittineni, C. B. (1983) Edge and Line Detection on Multidimensional Noisy Imagery Data. IEEE Transaction on Geoscience and Remote Sensing, GE-21(2), p.163-174.

[0154] [16] Cleynenbreugel, J. V., et al. (1990) Delineating Road Structures on Satellite Imagery by a GIS-guided Technique. Photogrammetric Engineering and Remote Sensing, vol.56, p. 893-893.

[0155] [17] Wang, F., et Newkirk, R. (1988) Knowledge-Based System for Highway Network Extraction. IEEE Transaction on Geoscience and Remote Sensing, vol.26, n^(O)5, p. 525-531.

[0156] [18] Yee, B. (1987) An Expert System for Planimetric Feature Extraction. Processing of IGARSS 87, Ursi, Ann Arbor, Mich., p. 321-325.

[0157] [19] Farah, Noureddine. (1998) Extraction et évaluation du réseau routier urbain á partir des images satellitaires : développement d'algorithmes. Mémoire de mae,cir itrise, Université de Sherbrooke, Sherbrooke, 112 p.

[0158] [20] Jedynak, Bruno. (1995) Modèles stochastiques et méthodes déterministes pour extraire les routes des images de la Terre vues du ciel. Thèse de doctorat. Université Paris Sud, UFR de mathematiques. 185 p.

[0159] [21] Copeland, A. C., Ravichandran, G. et Trivedi, M. M. (1994) Localized Radon Transform-Based Detection of Linear Features in Noisy Images. Proc. IEEE Conf. On Computer Vision and Pattern Recognition, Seattle, Wash., Juin 1994, p. 664-667.

[0160] [22] Duda, R. O. et Hart, P. E., (1972) Use of the Hough Transformation to Detect Lines and Curves in Pictures. Comm. ACM, 15(1), p. 11-15.

[0161] [23] Murphy, L. M., (1986) Linear Feature Detection and Enhancement in Noisy Images Via the Radon Transformation. Pattern Recognition Letters, 4(4), p. 279-284.

[0162] [24] Rey, M. T. et al., (1990) Application of Radon Transform Techniques to Wake Detection in Seasat-A SAR Images. IEEE Trans. Geosience and Remote Sensing, 28(4), p. 553-560.

[0163] [25] Karnieli, A. et al., (1996) Automatic Extraction and Evaluation of Geological Linear Features from Digital Remote Sensing Data Using a Hough Transform. Photogrammetric Engineering & Remote Sensing, Vol. 62, No. 5, May 1996, pp. 525-531.

[0164] [26] Toft, P. (1996) The Radon Transform, Theory and Implementation. These de doctorate, Department of Mathematical Modelling, Section for Digital Signal Processing, Technical University of Denmark, 308 p.

[0165] [27] Wang, J. F. (1993) LINDA—A System for Automated Linear Feature Detection and Analysis. Canadian Journal of Remote Sensing, vol.19, n^(O) 1, p. 9-21. 

What is claimed is:
 1. A method for the extraction of linear features from digital imagery comprising the steps of: providing a digital image; providing a multi-layer database initializing a parameter domain; successively applying the Radon transform on each position in the parameter domain; for each position in the parameter domain: finding the coordinates of the nearest pixel in the digital image; determining the numerical value of the found pixel; and populating the layers of the provided database in accordance with the determined numerical value of the found pixel; analysing the data of the database; and generating an output image by restoring the lines detected in the analysing step.
 2. A method for the extraction of linear features as recited in claim 1, wherein the multi-layer database providing step includes providing a multi-layer database having at least three layers; a first layer used to contain the coordinates of the zero value pixels; a second layer used to contain the coordinates of the non-zero value pixels and a third layer used to contain the values of the non-zero value pixels.
 3. A method for the extraction of linear features as recited in claim 2, wherein, in said populating step: the coordinates of the found pixel are stored in the first layer when the numerical value of the pixel is found to be zero; the coordinates of the found pixel are stored in the second layer when the numerical value of the pixel is found to be non-zero; the numerical value of the non-zero pixels is stored in the third layer.
 4. A method for the extraction of linear features as recited in claim 1, wherein the multi-layer database providing step includes providing a multi-layer database having at least five layers; a first layer used to contain the coordinates of the zero value pixels; a second layer used to contain the coordinates of the non-zero value pixels; a third layer used to contain the values of the non-zero value pixels; a fourth layer used to contain the values of the zero value pixels and a fifth layer used to contain the accumulation of the non-zero pixel values.
 5. A method for the extraction of linear features as recited in claim 4, wherein, in said populating step: the coordinates of the found pixel are stored in the first layer when the numerical value of the pixel is found to be below a predetermined threshold; the coordinates of the found pixel are stored in the second layer when the numerical value of the pixel is found to be above the predetermined threshold; the numerical value of the pixels having a value which is above the predetermined threshold is stored in the third layer; the numerical value of the pixels having a value which is below the predetermined threshold is stored in the fourth layer; and the accumulation of the numerical value of the pixels that have a numerical value which is above the predetermined threshold is stored in the fifth layer.
 6. A method for the extraction of linear features as recited in claim 1, wherein said data analysing step includes the substep of finding the endpoints of each linear feature to be extracted.
 7. A method for the extraction of linear features as recited in claim 6 further comprising the step of storing the endpoints found in a database which is used in the output image generating step.
 8. A method for the extraction of linear features as recited in claim 1, further comprising the step of providing the minimum and maximum length of the lines to be detected.
 9. A system for the extraction of linear features from a digital image and for generating a corresponding output image comprising: a controller provided with an input designed to receive a digital image and an output designed to provide a corresponding output image; said controller containing a multi-layer database; said controller being so configured as to: initialize the discrete parameter domain; successively apply a Radon transform on each position in the parameter domain; for each position in the parameter domain: find the coordinates of the nearest pixel in the digital image; determine the numerical value of the found pixel; and populate the layers of the provided database in accordance with the determined numerical value of the found pixel; analyse the data of the database; and generate an output image by restoring the lines detected in the analysing step.
 10. A system for the extraction of linear features as recited in claim 9, wherein the multi-layer database includes at least three layers; a first layer used to contain the coordinates of the zero value pixels; a second layer used to contain the coordinates of the non-zero value pixels and a third layer used to contain the values of the non-zero value pixels.
 11. A system for the extraction of linear features as recited in claim 10, wherein, when populating the database, the controller is so configured as to: store the coordinates of the found pixel in the first layer when the numerical value of the pixel is found to be zero; store the coordinates of the found pixel in the second layer when the numerical value of the pixel is found to be non-zero; store the numerical value of the non-zero pixels in the third layer.
 12. A system for the extraction of linear features as recited in claim 9, wherein the multi-layer database includes at least five layers; a first layer used to contain the coordinates of the zero value pixels; a second layer used to contain the coordinates of the non-zero value pixels; a third layer used to contain the values of the non-zero value pixels; a fourth layer used to contain the values of the zero value pixels and a fifth layer used to contain the accumulation of the non-zero pixel values.
 13. A system for the extraction of linear features as recited in claim 12, wherein, when populating the database, the controller is so configured as to: store the coordinates of the found pixel in the first layer when the numerical value of the pixel is found to be below a predetermined threshold; store the coordinates of the found pixel in the second layer when the numerical value of the pixel is found to be above the predetermined threshold; store the numerical value of the pixels having a value which is above the predetermined threshold in the third layer; store the numerical value of the pixels having a value which is below the predetermined threshold in the fourth layer; and store the accumulation of the numerical value of the pixels that have a numerical value which is above the predetermined threshold in the fifth layer.
 14. A system for the extraction of linear features as recited in claim 9 further comprising an output device connected to said output of said controller to receive the output image generated by said controller.
 15. A system for the extraction of linear features as recited in claim 9 further comprising an input device connected to said input of said controller to supply the digital image to the controller. 